const jwt = require('koa-jwt')
const Router = require('koa-router')
const router = new Router({ prefix: '/topics' })
const {
    find, findById, create, update,
    listTopicFollwers, checkTopicExist,
    listTopicQuestions
} = require('../controllers/topics')
const { secret } = require("../config")

// 一个中间件就是一个函数
// 认证，解析token，并且从token中获取用户信息
const auth = jwt({ secret })
// 查找列表
router.get('/', find)
// 创建
router.post('/', auth, create)
// 通过id查询话题
router.get('/:id', checkTopicExist, findById)
// 修改
router.patch('/:id', auth, checkTopicExist, update)
// 查询某个话题的粉丝
router.get('/:id/follwers', checkTopicExist, listTopicFollwers)
// 查询某个话题的问题
router.get('/:id/questions', checkTopicExist, listTopicQuestions)

module.exports = router